home *** CD-ROM | disk | FTP | other *** search
Wrap
/* ARexx - Script für MicroDot */ /* ** $VER: MD-View.rexx V1.1 (28.8.94) ** --------------------------------- ** Das Script wird als Binäranzeiger in MicroDot eingebunden, es ** ermittelt den Typ der anzuzeigenden Datei und ruft ein passendes ** Anzeige-, Abspiel-, oder Bearbeitungsprogramm auf. ** ** Eine genauere Beschreibung und Hinweise zur Installation entnehmen ** Sie bitte der Datei 'ZP-View.zprx.dok'. ** ** ** Autor: ** ------ ** Jürgen Kohrmeyer Tel. : +49 5402 5195 ** Oststraße 2 EMail: j_kohrmeyer@wilam.north.de ** 49143 Bissendorf ** ** E-Mail: J_Kohrmeyer@wilam.north.de */ /******************************************* ** Konfiguration *******************************************/ /* Name des Publicscreen */ screenname = 'MICRODOT' /* Name der Datei für Temporäre Daten */ tempdatei = 'T:MD-Rexx-View.temp' /* Name der Datei für Sounddaten */ /* ACHTUNG: Die Datei wird nicht automatisch gelöscht! */ sounddatei = 'T:MD-Rexx-Sound.temp' /* Das hier angegebene 'CON: Fenster' wird für die */ /* Ein/Ausgabe von PGP benutzt. */ window = 'CON:0/300/800/300/PGP/AUTO/CLOSE/SCREEN'||screenname /******************************************* ** Beginn des Scripts *******************************************/ OPTIONS RESULTS PARSE ARG dateiname IF dateiname = '' THEN EXIT(10) IF ~EXISTS(dateiname) THEN EXIT(10) /* rexxtricks.library öffnen */ IF ~SHOW('LIBRARIES','rexxtricks.library') THEN IF ~ADDLIB('rexxtricks.library',0,-30,0) THEN EXIT(10) /* rexxsupport.library öffnen */ IF ~SHOW('LIBRARIES','rexxsupport.library') THEN IF ~ADDLIB('rexxsupport.library',0,-30,0) THEN EXIT(10) /* rexxreqtools.library öffnen */ IF ~SHOW(LIBRARIES,'rexxreqtools.library') THEN IF ~ADDLIB('rexxreqtools.library',0,-30,0) THEN EXIT(10) /* ARexx-Port auf Shell einstellen */ ADDRESS COMMAND /* Übergebene Datei verarbeiten */ CALL showfile dateiname /* Tempdateien löschen, falls vorhanden */ IF EXISTS(tempdatei) THEN 'delete' tempdatei IF EXISTS(tempdatei||'-1') THEN 'delete' tempdatei||'-1' /* Script beenden */ EXIT(0) /******************************************* ** Eine Datei anzeigen *******************************************/ showfile: PARSE ARG file /* Dateityp feststellen */ typ = WHATIS(file) /* Unerlaubte zeichen aus dem Typ-String entfernen */ typ = TRANSLATE(typ,'__',' -') /* Passende Funktion aufrufen */ INTERPRET 'CALL' typ RETURN /******************************************* ** Funktionen für die einzelnen Dateitypen *******************************************/ Text: OPTIONS FAILAT 32 /* 'CON: Fenster' als Standard Ein/Ausgabe öffnen */ CALL CLOSE('STDOUT') IF OPEN('STDOUT',window,'W') THEN DO CALL CLOSE('STDIN') CALL OPEN('STDIN','*','W') CALL PRAGMA('*','STDOUT') CALL PRAGMA('*','STDIN') /* Nachricht entschlüsseln oder Public-Key bearbeiten */ 'pgp' file '-o' tempdatei IF rc = 31 THEN DO CALL rtezrequest('Sie besitzen nicht den passenden Key'||'0A'x||'um diese Nachricht zu entschlüsseln!','Abbrechen','PGP-Request','rtez_flags = ezreqf_centertext') RETURN END OPTIONS FAILAT 10 /* Die normale oder die entschlüsselte Datei anzeigen */ IF EXISTS(tempdatei) THEN 'multiview' tempdatei 'PUBSCREEN' screenname ELSE 'multiview' file 'PUBSCREEN' screenname END RETURN Asm: Doc: FTXT: Guide: Incld_Asm: Include_C: MakeFile: PS: ReadMe: Rexx: Script: Source_C: Src_Ada: Tex: 'multiview' file 'PUBSCREEN' screenname RETURN 8SVX: Wave: 'multiview' file 'PUBSCREEN' screenname RETURN BMP: BMP_1Bit: BMP_4Bit: BMP_8Bit: 'multiview' file 'SCREEN' RETURN PCX: 'rename' file file||'.PCX' 'multiview' file||'.PCX' 'SCREEN' 'rename' file||'.PCX' file RETURN ANIM: GIF: ILBM: ILBM24: JPEG: CALL PRAGMA('S',10240) 'VT_EGS' file RETURN Icon: Icn_Disk: Icn_Drw: Icn_Grbg: Icn_Pjct: Icn_Tool: oldscreen = SETDEFAULTPUBSCREEN(screenname) oldmodes = SETPUBSCREENMODES('SP') 'rename' file file||'.info' 'viewicon' file||'.info' 'rename' file||'.info' file oldmodes = SETPUBSCREENMODES(oldmodes) oldscreen = SETDEFAULTPUBSCREEN(oldscreen) RETURN Exe: PP_Exe: PP30_Exe: PP40_Exe: Pure_Exe: file '>CON:////MD-View-Console/CLOSE/AUTO/WAIT/SCREEN'||screenname RETURN Med_MOD: PP_MEdMOD: PP_ST_Mod: ST_Mod: 'copy' file sounddatei 'player NOREQUEST SCREEN' screenname 'PLAY' sounddatei RETURN Imp_Data: ImpLS: ImpLS_Lib: PP_Data: PP_Doc: PPLibHead: PPLoadSeg: 'xfddecrunch' file tempdatei 'copy' tempdatei tempdatei||'-1' 'delete' tempdatei CALL showfile tempdatei||'-1' RETURN TIFF: TIFF_Gray: oldscreen = SETDEFAULTPUBSCREEN(screenname) oldmodes = SETPUBSCREENMODES('SP') oldstack = PRAGMA('S',10240) 'tiffview' file oldmodes = SETPUBSCREENMODES(oldmodes) oldscreen = SETDEFAULTPUBSCREEN(oldscreen) RETURN Lib: 'version >'||tempdatei file 'FILE FULL' 'multiview' tempdatei 'PUBSCREEN' screenname RETURN GZip: 'gzip >'||tempdatei '-l' file 'multiview' tempdatei 'PUBSCREEN' screenname RETURN LHArc: 'lha >'||tempdatei 'v' file 'multiview' tempdatei 'PUBSCREEN' screenname RETURN Shrink: 'shrink >'||tempdatei 'va' file 'multiview' tempdatei 'PUBSCREEN' screenname RETURN ZIP: 'unzip >'||tempdatei '-v' file 'multiview' tempdatei 'PUBSCREEN' screenname RETURN Zoo: 'zoo >'||tempdatei 'v' file 'multiview' tempdatei 'PUBSCREEN' screenname RETURN ABasic: BAD_IFF: Caligari: CDAF: DMS: EPU_NUKE: EPU_XPK: EPUed: IFF: GFA: Imagine: Manx_DBG: Manx_DMP: MaxiPlan: Mnx3.6Lib: Mnx3.6Obj: Mnx5.0Lib: Mnx5.0Obj: MEd_Song: Object: PPM_V1.8: PPM_V2.1: PREFS: SFX: SMUS: STSong: SUNRASTER: TARGA: TERM: Tex_DVI: Tex_Font: Unknown: Unscanned: Vista_DEM: Warp: Zoom: CALL rtezrequest('Für Dateien des Typs' '"'||typ||'"'||'0A'x||'ist kein Anzeigeprogramm konfiguriert!','Abbrechen','MD-View-Request','rtez_flags = ezreqf_centertext') RETURN